{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 视频分析简介\n",
    "\n",
    "视频分析是计算机视觉的一个分支，目的是利用计算机视觉技术理解或处理视频，在安防监控和视频创作场景下有十分广泛的应用。视频分析相关的研究方向有很多，本文将列举常见的一些研究方向。\n",
    "\n",
    "## 1. 视频分类\n",
    "\n",
    "视频分类是指给定一个视频片段，比如一个10秒短视频，由算法对视频包含的内容进行分类，比如动物、物体、自然现象和人体动作。其中，视频人体动作分类的研究最为热门，常见的数据集有HMDB51、UCF-101和Kinetics。\n",
    "\n",
    "### 1.1 HMDB51\n",
    "\n",
    "HMDB51是布朗大学在2011年发布的视频数据集，视频来源于电影、公共数据库和YouTube等网络视频库。HMDB作为一个人类动作视频数据，包含6849段视频剪辑，51个人类动作类别，每类动作至少包含101段视频剪辑。[HMDB51数据集官网](https://serre-lab.clps.brown.edu/resource/hmdb-a-large-human-motion-database/)。\n",
    "\n",
    "动作主要分为五类：\n",
    "\n",
    "- 一般面部动作微笑，如：大笑，咀嚼，交谈。\n",
    "- 面部操作与对象操作：如：吸烟，吃，喝。\n",
    "- 一般的身体动作：如：侧手翻，拍手，爬。\n",
    "- 与对象交互动作：如：梳头，抓，运球。\n",
    "- 人体动作：如：击剑，拥抱，踢某人。 \n",
    "\n",
    "![hmdb_1.jpg](./imgs/hmdb_1.jpg)\n",
    "![hmdb_0.jpg](./imgs/hmdb_0.jpg)\n",
    "\n",
    "### 1.2 UCF-101 动作识别数据集\n",
    "\n",
    "UCF-101是一种现实动作视频的动作识别数据集，来源于YouTube，一共有101个动作类别，13320个视频。UCF101在动作和表达上的多样性丰富，考虑到相机的移动，目标的表现和动作，目标的大小，视角，北京，光照条件等等，所以数据集充满了挑战性。[UCF-101数据集官网](https://www.crcv.ucf.edu/data/UCF101.php)。\n",
    "\n",
    "UCF-101的视频类别可以分为25组，每一组包括4-7种视频动作，同组视频有相同的特征，比如相似的背景，相似的视角等等。\n",
    "\n",
    "所有的视频类别可以分为5类： 1）人-对象 交互 2）只有动作 3） 人-人交互 4）乐器演奏 5）运动\n",
    "\n",
    "![ucf.jpg](./imgs/ucf.jpg)\n",
    "\n",
    "### 1.3 Kinetics 数据集\n",
    "\n",
    "[ActivityNet](http://activity-net.org/)是一项视频分类的比赛，与图像理解的ImageNet比赛类似，吸引了大量学者的关注和参与。在行为理解比赛项目下，使用的数据集为Kinetcs。数据集由Google的DeepMind团队提供，2017年是第一届比赛，有400个类别，20多万数据，2018年又对数据集进行了扩增，有600个类别，共50万左右的视频，截止到2020年2月，现在的Kinetics最新版本为Kinetics-700，包含了将近650,000 个视频的URL，覆盖了700个人物动作类型，所有的视频来自YouTube网站，视频至少为10秒。Kinetics数据集在视频分析领域的地位就相当于ImageNet图像分析领域的地位，是一个真正大规模的视频数据集。[Kinetics-700数据集官网](https://deepmind.com/research/open-source/kinetics)。\n",
    "\n",
    "## 2. 视频物体分割\n",
    "\n",
    "视频物体分割就是从视频所有图像中将感兴趣物体的区域完整地分割出来。图像物体分割也是将物体的区域分割出来，但视频与图像的不同之处在于视频是动态的，同一个目标在同一个视频中有不同的形态和光照条件，而且视频相邻帧之间的图像有很大的相似性，因此如何从一个视频中连续地对目标进行分割是视频物体分割的主要内容。常见的数据集有DAVIS和YoutubeVOS。\n",
    "\n",
    "### 2.1 DAVIS\n",
    "\n",
    "DAVIS全称为Densely Annotated VIdeo Segmentation，也称DAVIS挑战赛，从2016年开始每年举办一次挑战赛，到2019年，已经有半监督视频物体分割、交互式视频物体分割和无监督视频物体分割三个挑战任务。[DAVIS官网](https://davischallenge.org/index.html)提供DAVIS 2016和DAVIS 2017两份数据，DAIVS 2016有50个视频序列，DAVIS 2017有90个视频序列，每个视频序列中有几十到上百张图片不等。DAVIS数据集的标注并不是对图片中每个物体都做了标注，而是只对图片中容易捕获人眼注意力的“感兴趣物体”做了标注，如下图所示。\n",
    "\n",
    "![davis.jpg](./imgs/davis.jpg)\n",
    "\n",
    "### 2.2 YouTube-VOS\n",
    "\n",
    "[YouTube-VOS](https://youtube-vos.org/)是一个比DAVIS更大的视频物体分割数据集，从2018年开始发布，至今已包含4453个视频片段、94个物体类别、7800多个物体。YouTube-VOS也发布了挑战赛，2019年有两个挑战任务，分别是半监督视频物体分割和视频实例分割，后一个任务除了需要预测物体分割区域外，还要预测物体的类别。YouTube-VOS的数据集样例如下图所示。\n",
    "\n",
    "![youtube_vos.jpg](./imgs/youtube_vos.jpg)\n",
    "\n",
    "\n",
    "\n",
    "## 3. 视频恢复与增强\n",
    "\n",
    "视频恢复与增强包含的方向有很多，比如去雾、去噪、去模糊、超分辨率、去马赛克、色彩校正和污损区域修补等。较热门的方向是去模糊和超分辨率，[NTIRE 2019](https://data.vision.ee.ethz.ch/cvl/ntire19/)和[PIRM2018](https://www.pirm2018.org/)就有举办相关的挑战赛。\n",
    "\n",
    "![deblur.jpg](./imgs/deblur.jpg)\n",
    "\n",
    "图像的模糊一般是由相机的抖动导致的，这个抖动可以看做加原图上加了一个函数变换，图像去模糊就是找到这个函数反变换，使模糊的图像变得清晰，如上图所示是EDVR (Video Restoration with Enhanced Deformable Convolutional Networks) 算法的去模糊效果，第一列是输入的模糊图像，第2~5列是其他算法的去模糊效果，最后一列是EDVR算法的去模糊效果，可以看到效果是很不错的。\n",
    "\n",
    "![super_resolution.jpg](./imgs/super_resolution.jpg)\n",
    "\n",
    "图像超分是指将低分辨率的图重建成高清的图，研究的比较多的是四倍超分，举个例子就是将一个540p的视频重建成4K的超高清视频，这个技术的商业应用前景是十分可观的。如上图所示是EDVR算法的超分效果，GT是指真实的清晰原图，EDVR(Ours)是EDVR算法的超分效果，可以看出跟GT是非常接近的。\n",
    "\n",
    "## 4. 视频指纹\n",
    "\n",
    "视频指纹是根据视频内容生成一串可唯一标识当前视频的指纹字符，具有高稳定性，有效避免视频文件的格式转换、编辑、裁剪拼接、压缩旋转等操作的影响，可用于视频相似查重、视频版权、视频快速审核、广告识别、数字版权管理等多种场景。\n",
    "\n",
    "### 4.1 视频相似查重\n",
    "\n",
    "建立独立的视频指纹库，将查询视频与该库中的视频指纹进行快速比对，实时召回重复视频或重复片段。防止媒资库中内容重复存储，提高媒资存储效率，并且还可以减少内容分发和个性化推荐结果中相同或相似视频过多出现的现象，提升用户体验。\n",
    "\n",
    "![视频查重.jpg](./imgs/视频查重.jpg)\n",
    "\n",
    "### 4.2 视频版权\n",
    "\n",
    "能够准确识别编辑变换后视频、自媒体再创作视频与原始版权视频之间的相似关系。解决金融、教育、综艺、短视频网站等自有版权视频维权问题，为视频内容交易生态提供版权识别技术，防止侵权视频侵害原创作者和平台利益。\n",
    "\n",
    "![视频版权.jpg](./imgs/视频版权.jpg)\n",
    "\n",
    "### 4.3 视频快速审核\n",
    "\n",
    "对违规视频构建和维护视频指纹黑库。将待比对视频快速进行指纹比对并判断是否有违规内容。相比传统的内容审核，能够有效提高大量视频审核效率，在保障准确性的同时有效降低审核成本。\n",
    "\n",
    "![视频快速审核.jpg](./imgs/视频快速审核.jpg)\n",
    "\n",
    "### 4.4 广告识别\n",
    "\n",
    "针对广告投播，构建和维护广告指纹库。对待识别广告视频，从其中找出广告库中广告片段出现的位置，对广告进行监播和高效识别。支撑客户广告动态分成业务生态，对广告投放的时间、次数等进行播控管理，保障广告投放方和投播平台的利益。\n",
    "\n",
    "![广告识别.jpg](./imgs/广告识别.jpg)\n",
    "\n",
    "### 4.5 数字版权管理\n",
    "\n",
    "将视频指纹作为数字水印的一部分嵌入到视频中，当视频版权发生纠纷时，可根据视频指纹识别原始视频，鉴别篡改，追踪来源，辨别原始版权归属。\n",
    "\n",
    "![数字版权管理.jpg](./imgs/数字版权管理.jpg)\n",
    "\n",
    "## 5. 视频结构化\n",
    "\n",
    "视频结构化是指根据视频画面中呈现出的人、车、物、颜色、数字及其他属性特征，建立视频大数据结构化平台，视频被结构化后，存入相应的结构化数据仓库，不仅使得存储的容量极大降低，还可以进行大数据分析。比如华为联合深圳交警一起做了深圳市主要交通路口的视频车流数据结构化，对路口拍摄的车流视频进行分析，统计车流的信息，从而可以进行大数据分析，对治理交通拥堵、改善交通质量提供了很大的帮助。如下图所示是华为云交通智能体的交通大数据分析示意图，基于这些大数据，可以分析各路口的在途车数、平均车速和拥堵指数。\n",
    "\n",
    "![trafficgo.jpg](./imgs/trafficgo.jpg)\n",
    "\n",
    "## 6. 视频摘要\n",
    "\n",
    "视频摘要分为静态视频摘要和动态视频摘要，静态视频摘要是从一个视频中抽取关键帧，融合成一张海报，动态视频摘要是指从一个视频中抽取多个精彩的片段，然后组合成一个简短的视频，比如电影上映前的几分钟宣传片就是属于动态视频摘要。\n",
    "\n",
    "在如今视频类应用快速爆发的时代，每天都有海量的视频上传，如果一个视频的封面可以自动先播放一段包含精彩片段的视频摘要，那它就更有可能吸引用户进行点击，但是海量的视频是不可能都由人工来提取视频摘要的，因此利用AI算法来提取视频摘要就成了一个很重要的需求。\n",
    "\n",
    "当前视频摘要的公开数据集主要有以下5个：\n",
    "\n",
    "（1）[MED Summaries](http://lear.inrialpes.fr/people/potapov/med_summaries)，总共有160个视频，10种事件类型；\n",
    "\n",
    "（2）[TVSum Dataset](https://github.com/yalesong/tvsum)，总共50个视频；\n",
    "\n",
    "（3）[UT Egocentric Dataset](http://vision.cs.utexas.edu/projects/egocentric_data/UT_Egocentric_Dataset.html)，总共4个视频，每个视频长度为3~5小时；\n",
    "\n",
    "（4）[VSUMM](https://sites.google.com/site/vsummsite/download)，总共100个视频，每个视频长度为1~10分钟；\n",
    "\n",
    "（5）[SumMe](http://classif.ai/dataset/ethz-cvl-video-summe/)，总共25个视频，每个视频有至少15个人工提取的摘要。\n",
    "\n",
    "视频摘要的代表性算法是[Query-adaptive Video Summarization via Quality-aware Relevance Estimation](https://dl.acm.org/doi/pdf/10.1145/3123266.3123297)。\n",
    "\n",
    "## 7. 视频生成\n",
    "\n",
    "视频生成是根据几张静态的图片生成一个简短的视频，这是一个有趣的技术但目前并未大规模普及应用。代表性算法是[DeepStereo](https://arxiv.org/pdf/1506.06825.pdf)，该算法可以猜测出图像的缺失部分，在空白处创造出源图片中没有的新图像，如下图所示是算法的demo。\n",
    "\n",
    "![video_generate.gif](./imgs/video_generate.gif)\n",
    "\n",
    "关于视频分析的AI技术就介绍这些，其实在视频的采集、制作、编码、传输、点播和用户交互方面还有很多AI算法的创新，鼓励大家自行查找相关资料进行学习。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Pytorch-1.0.0",
   "language": "python",
   "name": "pytorch-1.0.0"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
